
initializeWindows = function(){

	MUI.kill_session = function(){
		location.reload(true);
	};

	//==========================================================================
	// Logs
	//==========================================================================

	MUI.logs_interface = function(){
		MUI.logs_afficher();
	};

	MUI.logs_afficher = function(){
		MUI.updateContent({
			element: $('panel1'),
			url: '/Logs/',
			title: 'Logs',
			padding: { top: 10, right: 10, bottom: 10, left: 10 }
		});
	};

	//==========================================================================
	// Tb
	//==========================================================================

	MUI.project_explorer_interface = function(){
		MUI.project_explorer_afficher();
	};

	MUI.project_explorer_afficher = function(){
		MUI.updateContent({
			element: $('panel2'),
			url: '/ProjectExplorer/',
			title: 'Project Explorer',
			padding: { top: 10, right: 10, bottom: 10, left: 10 }
		});
	};


	//==========================================================================
	// Tb
	//==========================================================================

	MUI.tb_interface = function(){
		MUI.tb_afficher();
	};

	MUI.tb_afficher = function(){
		MUI.updateContent({
			element: $('mainPanel'),
			url: '/Tb/',
			title: 'Tableau de bord',
			padding: { top: 10, right: 10, bottom: 10, left: 10 },
			/*
			onContentLoaded: function() {


				$$('.tb_contrat').each(function(el, index){
					var data = el.get('rel');
					new Request({
						url: 'query.php?module=Contract',
						method: 'post',
						data: data,
						onSuccess: function(responseText, responseXML) {
							el.set('html', responseText);
						}
					}).send();
				});

			}
			*/
		});
	};

	//==========================================================================
	// Modles
	//==========================================================================

	MUI.models_interface = function(){
		MUI.models_lister();
	};

	MUI.models_lister = function(){
		MUI.updateContent({
			element: $('mainPanel'),
			url: '/Models/Liste/',
			title: 'Liste des modèles',
			padding: { top: 0, right: 0, bottom: 0, left: 0 },
			require: {
				js: [MUI.path.plugins + 'tableGear/scripts/tablegear.js'],
				onload: function(){
					new TableGear("tableSorter");
				},
			}
		});
	};

	MUI.models_formulaire = function( idModels ){
		if (!idModels) {
			var idModels = null;
		}
		MUI.updateContent({
			element: $('mainPanel'),
			url: '/Models/Add/',
			title: 'Formulaire modèle',
			headerToolbox: false,
			padding: { top: 10, right: 10, bottom: 10, left: 10 },
			/*
			onContentLoaded: function(){
				// début form
				$('utilisateur_form').addEvent('submit', function(e){
					e.stop();
					$('spinner').show();
					this.set('send', {
						onComplete: function(response) {
		 					MUI.updateContent({
								element: $('mainPanel'),
								content: response,
								onContentLoaded: function(){
									MUI.utilisateur_lister();
								}
							});
							MochaUI.notification('Mise à jour effectuée');
						}
					});
					this.send();
				});
				// fin form
			}
			*/
		});
	};

	//==========================================================================
	// Forms
	//==========================================================================

	MUI.forms_interface = function(){
		MUI.forms_lister();
	};

	MUI.forms_lister = function(){
		MUI.updateContent({
			element: $('mainPanel'),
			url: '/Forms/Liste/',
			title: 'Liste des formulaires',
			padding: { top: 0, right: 0, bottom: 0, left: 0 },
			require: {
				js: [MUI.path.plugins + 'tableGear/scripts/tablegear.js'],
				onload: function(){
					new TableGear("tableSorter");
				}
			}
		});
	};

	MUI.forms_formulaire = function( idcontrat ){
		var title = 'Form';
		var id = 'windowContrat'+idcontrat;
		new MUI.Window({
			id: id,
			title: title,
			addClass: 'windowsCustomForms',
			contentURL: '/Forms/Add/',
			appendCookieData: true,
			width: 750,
			height: 400,
			padding: { top: 0, right: 0, bottom: 0, left: 0 },
			scrollbars: true,
			resizable: false,
			require: {
				css: [MUI.path.plugins + 'calendar/css/calendar.css'],
				js: [MUI.path.plugins+'upload/scripts/Fx.ProgressBar.js',
					 MUI.path.plugins+'upload/scripts/Swiff.Uploader.js',
					 MUI.path.plugins + 'calendar/scripts/calendar.js'],
				onload: function(){},
			},
			onContentLoaded: function() {}
		});
	};

	//==========================================================================
	// views
	//==========================================================================

	MUI.views_interface = function(){
		MUI.views_lister();
	};

	MUI.views_lister = function(){
		MUI.updateContent({
			element: $('mainPanel'),
			url: '/Views/Liste/',
			title: 'Liste des views',
			padding: { top: 0, right: 0, bottom: 0, left: 0 },
			require: {
				js: [MUI.path.plugins + 'tableGear/scripts/tablegear.js'],
				onload: function(){
					new TableGear("tableSorter");
				},
			},
			onContentLoaded: function(){
				MUI.produit_lister_parse_action();
			}
		});
	};

	MUI.views_formulaire = function(idproduit){

		var title = 'View';
		var id = 'windowProduit'+idproduit;
		new MUI.Window({
			id: id,
			title: title,
			addClass: 'windowsCustomViews',
			contentURL: '/Views/Add/',
			width: 950,
			height: 400,
			padding: { top: 0, right: 0, bottom: 0, left: 0 },
			scrollbars: false,
			resizable: false,
			require: {
				css: [MUI.path.plugins + 'accordian/css/style.css'],
				/*
				onload: function(){
					// chargement de l'accordéon
					this.windowEl = $(id);
					new Accordion('#' + id + ' h3.accordianToggler', "#" + id + ' div.accordianElement',{
						opacity: false,
						alwaysHide: true,
						onActive: function(toggler, element){
							toggler.addClass('open');
						},
						onBackground: function(toggler, element){
							toggler.removeClass('open');
						},
						onStart: function(toggler, element){
							this.windowEl.accordianResize = function(){
								MUI.dynamicResize($(id));
							}
							this.windowEl.accordianTimer = this.windowEl.accordianResize.periodical(10);
						}.bind(this),
						onComplete: function(){
							this.windowEl.accordianTimer = $clear(this.windowEl.accordianTimer);
							MUI.dynamicResize($(id)) // once more for good measure
						}.bind(this)
					}, $(id));
					// chargement de l'agenda
					$('ajaxAgendaSelect').addEvent('change', function(e){
						var idproduit = this.get('rel');
						var annee = this.getSelected().get('value');
						new Request({
							url: 'query.php?module=Product&action=ajaxAgenda&idproduit='+idproduit+'&annee='+annee,
							onSuccess: function(responseText, responseXML) {
								$('ajaxAgenda').set('html', responseText);
							}
						}).send();
					});
					// ---
				}
				*/
			}
		});
	};

	//==========================================================================
	// controllers
	//==========================================================================

	MUI.controllers_interface = function(){
		MUI.controllers_lister();
	};

	MUI.controllers_lister = function(){
		MUI.updateContent({
			element: $('mainPanel'),
			url: '/Controllers/Liste/',
			title: 'Liste de controllers',
			padding: { top: 0, right: 0, bottom: 0, left: 0 },
			headerToolbox: false,
			require: {
				js: [MUI.path.plugins + 'tableGear/scripts/tablegear.js'],
				onload: function(){
					new TableGear("tableSorter");
				},
			},
			onContentLoaded: function(){
				$$('.client_modifier').each(function(item, index){
					item.addEvent('click', function(e){
						e.stop();
						var idclient = item.get('href');
						MUI.client_formulaire(idclient);
					});
				});
			}
		});
	};

	MUI.controllers_formulaire = function(idclient){
		var title = 'formulaire';
		var id = 'windowClient'+idclient;
		new MUI.Window({
			id: id,
			title: title,
			addClass: 'windowsCustomControllers',
			contentURL: '/Controllers/Add/',
			width: 950,
			height: 400,
			padding: { top: 0, right: 0, bottom: 0, left: 0 },
			scrollbars: false,
			resizable: false,
			require: {
				css: [MUI.path.plugins + 'accordian/css/style.css'],
				/*
				onload: function(){
					// chargement de l'accordeon
					this.windowEl = $(id);
					new Accordion('#' + id + ' h3.accordianToggler', "#" + id + ' div.accordianElement',{
						opacity: false,
						alwaysHide: true,
						onActive: function(toggler, element){
							toggler.addClass('open');
						},
						onBackground: function(toggler, element){
							toggler.removeClass('open');
						},
						onStart: function(toggler, element){
							this.windowEl.accordianResize = function(){
								MUI.dynamicResize($(id));
							}
							this.windowEl.accordianTimer = this.windowEl.accordianResize.periodical(10);
						}.bind(this),
						onComplete: function(){
							this.windowEl.accordianTimer = $clear(this.windowEl.accordianTimer);
							MUI.dynamicResize($(id)) // once more for good measure
						}.bind(this)
					}, $(id));
					// chargement de l'agenda
					$('ajaxAgendaSelect').addEvent('change', function(e){
						var idproduit = this.get('rel');
						var annee = this.getSelected().get('value');
						new Request({
							url: 'query.php?module=Customer&action=ajaxAgenda&idclient='+idproduit+'&annee='+annee,
							onSuccess: function(responseText, responseXML) {
								$('ajaxAgenda').set('html', responseText);
							}
						}).send();
					});
					// ---
				}
				*/
			}
		});
	};

	//==========================================================================
	// transporteurs
	//==========================================================================

	MUI.transporteur_interface = function(){
		MUI.transporteur_lister();
		MUI.transporteur_block_search();
	};

	MUI.transporteur_lister = function(){
		MUI.updateContent({
			element: $('mainPanel'),
			url: 'query.php?module=Transporter',
			title: 'Liste des transporteurs',
			padding: { top: 0, right: 0, bottom: 0, left: 0 },
			headerToolbox: false,
			require: {
				js: [MUI.path.plugins + 'tableGear/scripts/tablegear.js'],
				onload: function(){
					new TableGear("tableSorter");
				},
			},
			onContentLoaded: function(){
				$$('.transporteur_modifier').each(function(item, index){
					item.addEvent('click', function(e){
						e.stop();
						var idtransporteur = item.get('href');
						MUI.transporteur_formulaire(idtransporteur);
					});
				});
			}

		});
	};

	MUI.transporteur_formulaire = function( idtransporteur ){
		if (!idtransporteur) {
			var idtransporteur = null;
		}
		MUI.updateContent({
			element: $('mainPanel'),
			url: 'query.php?module=Transporter&action=Formulaire&idtransporteur='+idtransporteur,
			title: 'Formulaire transporteur',
			headerToolbox: false,
			onContentLoaded: function(){
				// début form
				$('transporteur_form').addEvent('submit', function(e){
					e.stop();
					$('spinner').show();
					this.set('send', {
						onComplete: function(response) {
		 					MUI.updateContent({
								element: $('mainPanel'),
								content: response,
								onContentLoaded: function(){
									MUI.transporteur_lister();
								}
							});
							MochaUI.notification('Mise à jour effectuée');
						}
					});
					this.send();
				});
				// fin form
			}
		});
	};

	MUI.transporteur_block_search = function( ){
		MUI.updateContent({
			element: $('panel1'),
			url: 'query.php?module=Transporter&action=BlockSearch',
			title: 'Recherche transporteur',
			headerToolbox: false,
			onContentLoaded: function(){
				$('form_block_search').addEvent('submit', function(e){
					e.stop();
					$('spinner').show();
					this.set('send', {
						onComplete: function(response) {
		 					MUI.updateContent({
								element: $('mainPanel'),
								content: response,
								require: {
									js: [MUI.path.plugins + 'tableGear/scripts/tablegear.js'],
									onload: function(){
										new TableGear("tableSorter");
									},
								},
								onContentLoaded: function(){
									$$('.transporteur_modifier').each(function(item, index){
										item.addEvent('click', function(e){
											e.stop();
											var idtransporteur = item.get('href');
											MUI.transporteur_formulaire(idtransporteur);
										});
									});
								}
							});
						}
					});
					this.send();
				});
			}
		});
	};

	//==========================================================================
	// Caddy
	//==========================================================================

	MUI.caddy_ajouter_produit = function( idproduit, el ) {
		var numero_serie = el.get('title');
		MUI.updateContent({
			element: $('panel2'),
			url: 'query.php?module=Caddy&ajouter='+idproduit,
			onContentLoaded: function(){
				MUI.caddy_afficher();
				MochaUI.notification(numero_serie+' ajouté !');
			}
		});
	};

	MUI.caddy_supprimer_produit = function( idproduit, el ) {
		var numero_serie = el.get('title');
		MUI.updateContent({
			element: $('panel2'),
			url: 'query.php?module=Caddy&supprimer='+idproduit,
			onContentLoaded: function(){
				MUI.caddy_afficher();
				MochaUI.notification(numero_serie+' supprimé !');
			}

		});
	};

	MUI.caddy_reset = function(  ) {
		MUI.updateContent({
			element: $('panel2'),
			url: 'query.php?module=Caddy&vider',
			onContentLoaded: function(){
				MUI.caddy_afficher();
				MochaUI.notification('Caddy vidé !');
			}

		});
	};

	MUI.caddy_validation_produit = function() {
		MochaUI.notification('Vérification en cours...');

		var date_debut = $('form_caddy_validation_date_debut').get('value');
		var date_fin = $('form_caddy_validation_date_fin').get('value');

		$$('.caddy_validation_produit').each(function(el, index){
			var image = el.getChildren('img');
			image.set('src', 'Images/Icons/32x32/check_wait.png');
			new Request({
				url: 'query.php?module=Product&action=CheckDisponibilite&idproduit='+el.get('rel')+'&date_debut='+date_debut+'&date_fin='+date_fin,
				method: 'get',
				onSuccess: function(responseText, responseXML) {
					if (responseText == 'true') {
						var image = el.getChildren('img');
						image.set('src', 'Images/Icons/32x32/check_yes.png');
					}
					else {
						var image = el.getChildren('img');
						image.set('src', 'Images/Icons/32x32/check_no.png');
					}
				}
			}).send();
		});
	};

	MUI.caddy_afficher = function(){

		if ($('form_caddy')) {

			// on traite le POST formulaire
			$('form_caddy').addEvent('submit', function(e){
				e.stop();
				var idclient = $('form_caddy_idclient').getSelected().get('value');
				if (idclient == 'NULL') {
					MochaUI.notification('Veuillez sélectionner un client...');
					return false;
				}
				$('spinner').show();
				this.set('send', {
					onComplete: function(response) {
	 					MUI.updateContent({
							element: $('mainPanel'),
							title: 'Validation d\'un nouveau contrat',
							content: response,
							padding: { top: 10, right: 10, bottom: 10, left: 10 },
							require: {
								css: [MUI.path.plugins + 'calendar/css/calendar.css'],
								js: [MUI.path.plugins + 'calendar/scripts/calendar.js'],
								onload: function(){
									myCal1 = new Calendar({ form_caddy_validation_date_debut: 'd/m/Y' }, { direction: 0, tweak: { x: 6, y: 0 }});
									myCal2 = new Calendar({ form_caddy_validation_date_fin: 'd/m/Y' }, { direction: 0, tweak: { x: 6, y: 0 }});
								}
							},
							onContentLoaded: function(){
								// bouton pour checker la disponobilite
								$('form_caddy_validation_valider').addEvent('click', function(e){
									MUI.caddy_validation_produit();
								});

								// post du formulaire pour creer un contrat
								$('form_caddy_validation').addEvent('submit', function(e){
									e.stop();
									$('spinner').show();
									this.set('send', {
										onComplete: function(response) {
											if (response=='true') {
												MUI.contrat_interface();
												MUI.caddy_reset();
												MochaUI.notification('Contrat Ajouté');
											}
											else {
												MochaUI.notification('Vérifiez les disponibilitées !');
											}
										}
									});
									this.send();
								});
							}
						});
					}
				});
				this.send();
			});

			// Vider le panier contrat
			$('form_caddy_vider').addEvent('click', function(e){
				e.stop();
				MUI.caddy_reset();
			});

			// sélectionner un client
			$('form_caddy_idclient').addEvent('change', function(e){
				e.stop();
				var myRequest = new Request({
					url: 'query.php?module=Caddy&client='+this.value,
					method: 'get',
					onSuccess: function(responseText, responseXML) {
						MochaUI.notification('Client sélectionné !');
					}
				}).send();
			});

		}

	};

	//--------------------------------------------------------------------------

	if ($('cascadeLink')) {
		$('cascadeLink').addEvent('click', function(e){
			new Event(e).stop();
			MUI.arrangeCascade();
		});
	}

	if ($('tileLink')) {
		$('tileLink').addEvent('click', function(e){
			new Event(e).stop();
			MUI.arrangeTile();
		});
	}

	if ($('closeLink')) {
		$('closeLink').addEvent('click', function(e){
			new Event(e).stop();
			MUI.closeAll();
		});
	}

	if ($('minimizeLink')) {
		$('minimizeLink').addEvent('click', function(e){
			new Event(e).stop();
			MUI.minimizeAll();
		});
	}

	// Misc
	MUI.licenseWindow = function() {
		new MUI.Window({
			id: 'License',
			title: 'License',
			contentURL: 'license.html',
			width: 375,
			height: 340
		});
	};
	if ($('licenseLink')){
		$('licenseLink').addEvent('click', function(e) {
			new Event(e).stop();
			MUI.licenseWindow();
		});
	}

	// Deactivate menu header links
	$$('a.returnFalse').each(function(el) {
		el.addEvent('click', function(e) {
			new Event(e).stop();
		});
	});

	// Build windows onLoad
	MUI.myChain.callChain();
};
